package com.atguigu.yygh.task.config;

import com.atguigu.yygh.rabbit.RabbitService;
import com.atguigu.yygh.rabbit.utils.MqConst;
import org.joda.time.DateTime;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 创建定时任务
 */
@Component
@EnableScheduling
public class ScheduledTask {
    //注入rabbitmq
    @Autowired
    private RabbitService rabbitService;

    //创建定时任务方法
    //定时任务使用七子表达式  * * * * * * *  秒 分 时 日 月 周 年
    @Scheduled(cron = "0 0 20 * * ?") //每天的晚上八点给第二天就诊的人发短信
    //@Scheduled(cron = "0/50 * * * * ?")//为了方便测试 这里使用50秒
    public void task1() {

        //设置每天晚上的八点查询第二天要就诊人的信息
        //获取时间,获取当前时间+一天就是第二天的数据
        DateTime dateTime = new DateTime().plusDays(1);

        String datetime = dateTime.toString("yyyy-MM-dd");

        //使用rabbitmq发送消息，在完成发送短信的操作
        rabbitService.sendMessage(MqConst.EXCHANGE_DIRECT_TASK,
                MqConst.ROUTING_TASK_8, datetime);

    }
}
